<?php

namespace Ysy\HyperfImport\Importer\Driver;

use Generator;

interface DriverInterface
{
    /**
     * 读取文件（统一参数，无类属性依赖）
     * @param string $filePath 临时文件路径（必需）
     * @param string $extension 文件扩展名（必需，区分Excel/CSV）
     * @param bool $skipHeader 是否跳过表头（必需，默认true）
     * @param array $options 动态配置（按需传递，如CSV编码、Excel是否读多sheet）
     * @param int &$totalCount 引用传递：有效数据总行数（必需，默认0）
     * @return Generator
     */
    public function read(
        string $filePath,
        string $extension,
        bool $skipHeader = true,
        array $options = [],
        int &$totalCount = 0
    ): Generator;
}